package com.demo.java.OD601_650.OD606;

import java.util.Scanner;
import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【约瑟夫问题(B卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146590393
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        // 读取输入字符串并转换为整数数组
        String input_str = in.nextLine();
        String[] tmp2 = input_str.split(",");
        int[] nums = new int[tmp2.length];
        for (int i = 0; i < tmp2.length; i++) {
            nums[i] = Integer.parseInt(tmp2[i]);
        }

        // 读取列表的大小和跳过的数字数
        int size = Integer.parseInt(in.nextLine());
        int m = Integer.parseInt(in.nextLine());

        // 使用链表模拟数字的选择过程
        LinkedList<Integer> queue = new LinkedList<>();
        for (int i = 0; i < nums.length; i++) {
            queue.add(nums[i]);
        }

        // 存储结果
        String result = "";
        int i = 1;

        // 模拟选择过程
        while (true) {
            if (size <= 0) {
                break;  // 如果所有数字都已被选中，则结束
            } else {
                if (i == m) {  // 每m个数字选择一次
                    result += queue.get(0) + ",";  // 选择当前数字
                    m = queue.get(0);  // 更新m为当前选择的数字
                    size--;  // 剩余选择次数减1
                    i = 1;  // 重置计数
                } else {
                    queue.add(queue.get(0));  // 将当前数字移动到队列末尾
                    i++;  // 计数加1
                }
                queue.removeFirst();  // 移除队列中的第一个数字
            }
        }

        // 输出选择结果
        System.out.println(result);
    }
}